package me.jiatao.baselibrary.ext

import android.view.View
import android.widget.EditText
import android.widget.ImageView
import android.widget.TextView
import me.jiatao.baselibrary.utils.GlideUtils
import me.jiatao.baselibrary.widgets.DefaultTextWatcher


/** Kotlin通用扩展 */

/**
 * 日志打印
 */
//fun logi(content: String) {
//    LogUtil.i(content)
//}
//
//fun logd(content: String) {
//    LogUtil.d(content)
//}
//
//fun logw(content: String) {
//    LogUtil.w(content)
//}
//
//fun loge(content: String) {
//    LogUtil.e(content)
//}

/**
 *  扩展点击事件
 */
fun View.onClick(listener: View.OnClickListener): View {
    setOnClickListener(listener)
    return this
}

/**
 *  扩展点击事件，参数为方法
 */
fun View.onClick(method: () -> Unit): View {
    setOnClickListener { method() }
    return this
}

/**
 *  扩展Button可用性
 */
fun TextView.enable(et: EditText, method: () -> Boolean) {
    val btn = this
    et.addTextChangedListener(object : DefaultTextWatcher() {
        override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
            btn.isEnabled = method()
        }
    })
}

/**
 * 获取TextView文本信息
 */
fun TextView.textString(): String {
    return this.text.toString()
}

/**
 *  ImageView加载网络图片
 */
fun ImageView.loadUrl(url: String) {
    GlideUtils.loadImage(context, url, this)
}

/**
 *
 */
fun ImageView.loadWithOptions(url: String) {
    GlideUtils.loadUrlOptions(context, url, this)
}


/**
 *   扩展视图可见性
 */
fun View.setVisible(visible: Boolean) {
    this.visibility = if (visible) View.VISIBLE else View.GONE
}
